static inline int
HYPERVISOR_callback_op(
- int cmd,
- void *arg)
+ int cmd, void *arg)
{
return _hypercall2(int, callback_op, cmd, arg);
}
static void __init machine_specific_arch_setup(void)
{
struct xen_platform_parameters pp;
- callback_register_t event = {
+ struct callback_register event = {
.type = CALLBACKTYPE_event,
.address = { __KERNEL_CS, (unsigned long)hypervisor_callback },
};
- callback_register_t failsafe = {
+ struct callback_register failsafe = {
.type = CALLBACKTYPE_failsafe,
.address = { __KERNEL_CS, (unsigned long)failsafe_callback },
};
static void __init machine_specific_arch_setup(void)
{
- callback_register_t event = {
+ struct callback_register event = {
.type = CALLBACKTYPE_event,
.address = (unsigned long) hypervisor_callback,
};
- callback_register_t failsafe = {
+ struct callback_register failsafe = {
.type = CALLBACKTYPE_failsafe,
.address = (unsigned long)failsafe_callback,
};
- callback_register_t syscall = {
+ struct callback_register syscall = {
.type = CALLBACKTYPE_syscall,
.address = (unsigned long)system_call,
};
long ret = 0;
struct vcpu *v = current;
- if ( reg->address.cs )
- fixup_guest_code_selector(reg->address.cs);
+ fixup_guest_code_selector(reg->address.cs);
switch ( reg->type )
{
ret = -EINVAL;
break;
}
+
return ret;
}
struct callback_register reg;
ret = -EFAULT;
- if ( copy_from_guest( ®, arg, 1 ) )
+ if ( copy_from_guest(®, arg, 1) )
break;
ret = register_guest_callback(®);
struct callback_unregister unreg;
ret = -EFAULT;
- if ( copy_from_guest( &unreg, arg, 1 ) )
+ if ( copy_from_guest(&unreg, arg, 1) )
break;
ret = unregister_guest_callback(&unreg);
ret = -EINVAL;
break;
}
+
return ret;
}
struct callback_register reg;
ret = -EFAULT;
- if ( copy_from_guest( ®, arg, 1 ) )
+ if ( copy_from_guest(®, arg, 1) )
break;
ret = register_guest_callback(®);
struct callback_unregister unreg;
ret = -EFAULT;
- if ( copy_from_guest( &unreg, arg, 1 ) )
+ if ( copy_from_guest(&unreg, arg, 1) )
break;
ret = unregister_guest_callback(&unreg);
unsigned long failsafe_address,
unsigned long syscall_address)
{
- callback_register_t event = {
+ struct callback_register event = {
.type = CALLBACKTYPE_event,
.address = event_address,
};
- callback_register_t failsafe = {
+ struct callback_register failsafe = {
.type = CALLBACKTYPE_failsafe,
.address = failsafe_address,
};
- callback_register_t syscall = {
+ struct callback_register syscall = {
.type = CALLBACKTYPE_syscall,
.address = syscall_address,
};